define(['jquery','common','config','arttemplateUtil','menu','jquery_route'], function($,common,config,arttemplate,menu,router) {
	router.config({
		// 后台管理
		"back/family": {templateUrl: "family/familytree.html", controller: 'familyController'},
		"back":{redirectTo:"back/family"},
		
		// 首页
		"home/":{templateUrl:"right.html"},
		"home":{redirectTo:"home/"},
		"^\s?$":{redirectTo:"home/"}
		
		// 默认跳转
//		"\s":{controller:'default'}
	}).callback(function($tplHtml,$tplData,$routerobj,$urlparams){
		// 主回调方法 用于设置渲染右侧内容
		if(window.layer){
			window.layer.closeAll();
		}
		if( typeof autojumptimeout == 'number'){
			clearTimeout(autojumptimeout);
		}
		console.log($routerobj);
		if(typeof $routerobj.noart === 'boolean' && $routerobj.noart){
			//不渲染页面
			$('.right-side').html($tplHtml);
		}else{
			if(typeof $routerobj.controller === 'undefined'){
				//如果没有controller 渲染时候使用 $urlparams
				$('.right-side').html(arttemplate.template.compile($tplHtml)($urlparams));
			}else{
				$('.right-side').html(arttemplate.template.compile($tplHtml)($tplData));
			}
		}
		//页面加载完成后的消息提示
		if(typeof window.$outmsg =='string'){
			window.layer.msg(window.$outmsg);
			window.$outmsg=undefined;
		}
	}).beforecallback(function($hashstr){
		$hashstr='#'+$hashstr;
		// 路由前置
		var _index1 = $hashstr.indexOf('/');
		if(_index1 != -1){
			var _has1=$hashstr.substring(0,_index1);
			var _node1=$('.navbar-nav-menu a[href="'+_has1+'"]');
			//设置一级选中 _node1
			// 1 清除样式
			// 2 设置选中项样式
			$('.navbar-nav-menu li').removeClass('active');
			_node1.parent('li').addClass('active');
			
			var _node2;
			var _has2 = $hashstr;
			while(true){
				_node2 = $('.left-side a[href="'+_has2+'@"]');
				if(_node2.length > 0){
					break;
				}
				_node2 = $('.left-side a[href="'+_has2+'"]');
				if(_node2.length > 0){
					break;
				}

				var _lasindex=_has2.lastIndexOf('/');
				if(_lasindex == -1){
					break;
				}
				_has2 = _has2.substring(0,_lasindex);
			}
			//设置二级选中 _node2
			// 1 清除样式
			// 2 设置选中项样式
			if(_node2.length > 0){
				$('.left-side').hide();
				var _aside = _node2.parents('aside');
				var _title = _node2.clone();
				_title.find('i').remove();
				$('title').text(_title.text());
				_aside.show();
				_aside.find('li').removeClass('active');
				_node2.parents('li').addClass('active');
			}
		}
	})
	//没有找到路径的时候跳转
	.unroutercallback(function($hashstr){
		//寻找子级重定向
		var _hash=location.hash;
		if(_hash.indexOf('/')==-1){
			var chash=$('ul.treeview-menu a[base-href="'+_hash+'"]:first');
			if(chash.length>0){
				location.hash = chash.attr('href');
				return false;
			}
		}
		window.$outmsg="没有找到指定路径:"+_hash;
		if(router.historyhash && router.historyhash.length>0){
			//使用内置回跳功能
			return true;
		}else{
			location.hash='#home/';
			return false;
		}
	})
	;
	
	// art 页面模块定义
	$.artmodel({
		////"back.family":{templateUrl:"family/familytree.html", controller:'familyController'}
	});

});